<?php namespace Common\Model;

use Hdphp\Model\Model;

class User extends Model{
//	指定操作的表
	protected $table='user';
	
//	自动验证参数
	protected $validata=array(
		array('username','required', '用户名不能为空',3,3)
	);
	
	public function login(){
//		调用方法就必须有 protected $validata
		if(!$this->create())   return FALSE;
//		获取用户名和密码
		$username=$_POST['username'];
		$password=$_POST['password'];
//		验证用户名是否存在
		$userData=$this->where('username',$username)->find();
		
		if(!$userData){
			$this->error="用户名不存在";
			return FALSE;
		}	
		$password=$this->encrypt($username,$password);
		
		if($password!=$userData['password']){
			$this->error='密码不正确';
			return FALSE;
		}
//		登录成功写入session_id
		$_SESSION['id']=$userData['uid'];
		return TRUE;
		
	}
	
	
	private function encrypt($username,$password){
		return md5(md5($username).md5($password).'houdunwang');
		
	}
//--------------------------------------------------------------------------------

//		修改密码

	public function changeUser(){
//		数据验证
		 $this->validate=array(
			array('password','required','原密码不能为空',3,3),
			array('newPassword','required','新密码不能为空',3,3),
			array('confirmPassword','required','重复密码不能为空',3,3),
			array('newPassword','confirm:confirmPassword','两次密码不一致',3,3)
		);
		
		if(!$this->create())  return FALSE;
		
		
//		获取用户数据
		$userData=$this->where('uid',$_SESSION['id'])->find();
		
//		获取用户名
		$username=$userData['username'];
//		获取输入的原密码
		$password=$_POST['password'];
//		调用密码加密方法
		$password=$this->encrypt($username,$password);
		if($password!=$userData['password']){
			$this->error="原密码不正确";
			return FALSE;
		}
//		写入新密码
		$newPass=$_POST['newPassword'];
		$newPass=$this->encrypt($username,$newPass);
//		更新数据库里面的password
		$result=$this->where('uid',$_SESSION['id'])->update(array('password'=>$newPass));
		if(!$result){
			$this->error="修改失败";
			return FALSE;
		}
//		清除session， 就是退出
		session_unset();
		session_destroy();
		
		return TRUE;
	}
	
	
}








 